Playing audio 音訊

使用者期望裝置提供豐富的音訊體驗,並能根據裝置環境的變化自動調整。裝置可以透過多種方式播放音訊,例如透過內建或外接揚聲器、耳機、Bluetooth 或 AirPlay 裝置。使用者透過音量按鈕、iPhone 的鈴聲/靜音開關、耳機控制、控制中心音量滑塊,以及第三方附件的聲音控制來調節音訊。無論音訊是應用的核心還是點綴,都需要確保在使用者調整音量或輸出時,音訊表現符合使用者預期。

基本音訊行為

靜音:當使用者將裝置切換為靜音模式時,他們希望避免突發的聲音打擾,如鈴聲和資訊提示音,同時希望關閉非必要的音效,如鍵盤點選聲、音效、遊戲音軌等。當裝置處於靜音模式時,僅播放使用者主動發起的音訊,如媒體播放、鬧鐘和音訊/影片訊息。

音量:使用者期望音量設定影響系統中的所有聲音,包括音樂和應用內音效。例外情況是 iPhone 的鈴聲音量,可以單獨在設定中調整。

耳機:使用者使用耳機時希望聲音自動切換且不中斷,當斷開耳機時,他們期望播放立即暫停。

最佳實踐

必要時自動調整音訊級別,而非整體音量:應用可以調整各音訊的相對獨立音量,以實現最佳音效混合,但最終輸出由系統音量控制。

允許音訊重定向:使用者通常希望選擇不同的音訊輸出裝置,如客廳立體聲、車載音響或 Apple TV。除非有特殊原因,支援這種能力。

使用系統提供的音量檢視:系統音量檢視包括音量滑塊和音訊輸出控制,開發者可以自定義滑塊的外觀。

選擇合適的音訊類別:根據應用對音訊的使用選擇適當的類別,不同類別決定音訊是否與其他音訊混合、是否在後臺播放或是否響應靜音開關。具體類別與行為如下表所示:

類別行為說明
Solo Ambient音效不關鍵,但會靜音其他音訊,如帶背景音樂的遊戲。響應靜音開關,不與其他聲音混合,不在後臺播放。
Ambient音效不關鍵,不會靜音其他音訊,如允許使用者在遊戲中播放其他應用的音樂。響應靜音開關,與其他聲音混合,不在後臺播放。
Playback音效關鍵,可能與其他音訊混合,如有聲書或外語教學應用。忽略靜音開關,可在後臺播放。
Record用於錄音功能,不與其他聲音混合,如筆記應用的錄音模式。忽略靜音開關,可在後臺錄音。
Play and Record同時錄音和播放音訊,如音訊訊息或視訊通話應用。忽略靜音開關,可能與其他聲音混合,可在後臺錄音和播放。

根據情況響應音訊控制:如果應用在播放音訊,或與 Bluetooth、AirPlay 裝置連線,響應音訊控制是合適的。否則,避免在不相關情況下響應音訊控制。

避免重新定義音訊控制:使用者期望音訊控制在所有應用中行為一致,不支援的控制項應保持不響應。

考慮提供自定義音訊控制:如果需要提供系統不支援的命令,如自定義快進或回退的時間增量,或展示與音訊相關的內容,可以考慮提供自定義音訊播放控制。

當應用完成臨時音訊播放時通知其他應用:如果應用的音訊暫時中斷其他應用的音訊播放,應確保通知其他應用何時恢復音訊。

處理中斷

處理音訊會話中斷:如應用支援錄音等不希望被中斷的任務,可以告知系統避免因來電等中斷音訊。當中斷結束時,決定是否自動恢復播放音訊。

根據中斷型別判斷是否恢復播放:一些中斷是可恢復的,如來電,其他則不可恢復,如使用者啟動新的音樂播放。使用中斷型別決定是否自動恢復播放。

iOS、iPadOS:使用系統音訊服務播放短音效。

macOS:通知音效預設與其他音訊混合播放。

tvOS:系統僅在使用者互動後播放音訊,不播放提示音或通知音效。

visionOS:使用 Spatial Audio(空間音訊)增強虛擬環境的沉浸感,確保關鍵資訊不依賴於音訊,避免遺漏重要資訊。